/*
 * All rights Reserved, Designed By cloudland Copyright(C) 2010-2014
 *
 * fileName:  IFieldDesc.java
 * author:  lei
 * Company:  Cloudland Studio
 * Createdate:  2013-9-19 下午10:01:25
 *   
 * Modification  History:
 *     Date           Author        Version        
 * -------------------------------------------
 * 2013-9-19          Lei            1.0        
 *
 * Why & What is modified:
 * 1.0: 文件创建
 */
package org.cloudland.search.config;


 /**
 * <pre> 
 * 获取配置文件中索引域的描述，包括索引字段名称，
 * 映射的数据源中key值，及索引字段是否参加索引，分词等属性
 * </pre>
 * @ClassName  IFieldDesc
 * @author  lei
 * @version  %I%, %G%
 * @see  
 * @since   JDK1.6
 *
 */
public interface IFieldDesc {
	
	/**
     * 
     *@description: 获取索引域名
     *@return 索引域名称
     */
    public String getFieldName();
    
    /**
     * 
     *@description: 获取索引项对应的数据源key名称
     *@return 索引项对应的数据源key名称
     */
    public String getFieldMapping();
    
    /**
     * 
     *@description: 索引项是否参加索引
     *@return 参加索引返回true，否则返回false
     */
    public boolean isIndex();
    
    /**
     * 
     *@description: 索引项是否参加分词
     *@return 参加分词返回true，否则返回false
     */
    public boolean isAnalyzer();
    
    /**
     * 
     *@description: 索引项是否存储
     *@return 存储返回true，否则返回false
     */
    public boolean isStore();
    
    /**
     * 
     *@description: 索引项是否参与评分
     *@return 参与评分返回true，否则返回false
     */
    public boolean isGrade();
    
    /**
     * 
     *@description: 是否为索引项的唯一标识
     *@return 是唯一标识为true，否则为false
     */
    public boolean isPrimary();
    
    /**
     * 
     *@description: 获取索引项的权重
     *@return 索引项的权重
     */
    public float getWeight();
    
    /**
     * 
     *@description: 获取索引项的数据类型
     *@return 索引项的数据类型
     */
    public FieldTypeEnum getFieldType();

}
